Gevalstudie Mobiele Multi-Agent Systemen

Borg

Werner Van Belle

Vrije Universiteit Brussel

Mobiele Multi Agents

Actieve software component die in staat is te communiceren met andere agents en die kan migreren tussen verschillende machines.

Warning

user interface agents

intelligent agents

Agentsysteem

Mobiel Multi-Agent Systeem

Is de taal/library die mobiele multi agents ondersteund

communicatie

migratie

routering

processcontrole

veiligheid

Agentsysteem

Borg

Extentie van Pico:

“Scheme with Objects”

Prototype gebasseerde taal

Garbage Collection

Multi Threading

Educatief

Agentsysteem

Example

createpoint(x,y)::

{

printx()::display(x);

printy()::display(y);

setx(nx)::x:=nx;

sety(ny)::y:=ny;

clone()

}

a:createpoint(1,2);

a.printx();

Borg Agent

Code Space

Data Space

runtime stack

object graph

Enkele Thread

Communicatie Q

Agentsysteem

Communicatie

Remote Object Calling

Asynchroon

Call by deep value/Serialisatie

<agent>.<func>(<par>)

Agentsysteem

Migratie

Looping model

Agent stopt zelf zijn uitvoering en wordt dan herstart

Enkel de agent kan zichzelf verplaatsen

Telescripting

De agent, inclusief state, kan worden stil gelegd

Manager agents worden mogelijk

Mobiliteit is exploiteerbaar

Agentsysteem

Migratie

Telescripting

Remote Connecties blijven geldig

Serialisatie/Deserialisatie

agentmove(<place>)

<otheragent>.agentmove(<place>)

Agentsysteem

Example

a:remotedict(“tecra/ses2”);

createcb()::

{detanswer(welk)::

display(welk);

clone()};

cb:createcb();

a.calcdet([[1,8],[5,6]],cb)

a.calcdet([[1,28],[4,96]],cb)

t:remotedict(“duh.tecra”)

calcdet(matrx,cb)::

{…

agentmove(t);

cb.detanswer(matrx)

}

tecra/ses2

tecra/ses1

Agentsysteem

Environments, Dictionaries

Method Invocatie

Frame allocatie op Runtime stack

De frame noemen we DICTIONARY (DCT)

REMOTE Dictionaries (RDC)

Serialisatie Messages

RDC

DCT

RDC

RDC

DCT

RDC

RDC

From

Network

To

Agentsysteem

Serialisatie Agents

RDC

_GLOBAL_

RDC

RDC

_GLOBAL_

From

Network

To

0DCT

DCT

DCT

DCT

Agentsysteem

Routering

Routering

Verandert zijn naam automatisch ?

Name lookup nodig ?

Hoe agents bereiken ?

Verandert een agent zijn adres na migratie ?

User Intervention

J

N

J

N

Location Transparency

Adres van een agent wijzigt niet na migratie

Migratie moet minimale performantie impact hebben

Adres moet zelf te kiezen zijn

Solution

tecr.a

sub1.tecr.a

sub2.tecr.a

sub3.a

a

sub1.tecr.a/ses1

sub1.tecr.a/ses2

sub2.tecr.a/ses1

sub2.tecr.a/ses2

Hoe sub1.tecr.a/ses1

migreren naar sub2.tecr.a ?

Solution

tecr.a

sub1.tecr.a

sub2.tecr.a

sub3.a

a

sub1.tecr.a/ses1

sub1.tecr.a/ses2

sub2.tecr.a/ses1

sub2.tecr.a/ses2

sub1.tecr.a/ses1

Solution

tecr.a

sub1.tecr.a

sub2.tecr.a

sub3.a

a

sub1.tecr.a/ses1

sub1.tecr.a/ses2

sub2.tecr.a/ses1

sub2.tecr.a/ses2

sub1.tecr.a/ses1

sub1.tecr.a/ses1

Wat als we sub1.tecr.a/ses1

migreren naar sub3.a ?

Solution

tecr.a

sub1.tecr.a

sub2.tecra

sub3.a

a

sub1.tecr.a/ses1

sub1.tecr.a/ses2

sub2.tecr.a/ses1

sub2.tecr.a/ses2

sub1.tecr.a/ses1

sub1.tecr.a/ses1

Solution

tecr.a

sub1.tecr.a

sub2.tecra

sub3.a

a

sub1.tecr.a/ses1

sub1.tecr.a/ses2

sub2.tecr.a/ses1

sub2.tecr.a/ses2

sub1.tecr.a/ses1

sub1.tecr.a/ses1

sub1.tecr.a/ses1

Coordinatie

RMI/RPC te beperkt

Geen coordinatie tussen agents

Callbacks omslachtig

Variant CSP

Trog

Send

Recv

rendez vous

method calls

semafoor

Channels

Special Features

seq (begin)

par

alt

Positie Optimalisaties Mobiele Multi Agent Systemen

EDS Belgium N.V.

1998-09-11T01:24:36